package com.kmxd.ams.infra.arrange.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 目录树管理
 *
 * @author nickbi
 * @since 2022-08-04
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_catalog")
public class Catalog implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  private Long id;

  /** 全宗ID */
  private Long fondsId;

  /** 档案类型id 档案类型id */
  private Long archTypeId;

  /** 档案表名 档案表名，用来区分项目、案卷、文件、盒 */
  private String tableId;

  /** 节点类型 1条件节点，2分组节点 */
  private Integer type;

  /** 管理库类型：1收集库，2档案库 */
  private Integer manageType;

  /** 自定义节点: 0否，1是 */
  private Boolean customize;

  /** 节点名称 节点名称 */
  private String name;

  /** 父节点id 父节点id */
  private Long pid;

  /** 有无子节点 0无子节点，1有子节点，默认为0 */
  private Boolean hasChild;

  /** 数据节点sql 数据节点sql,只存where之后的条件 */
  private String dataCondition;

  /** 排序 同级排序 */
  private Integer sort;

  /** 创建人 */
  @TableField(fill = FieldFill.INSERT)
  private Long createBy;

  /** 创建时间 */
  @TableField(fill = FieldFill.INSERT)
  private Date createTime;
  /** 分类db_field_key */
  private String fieldKey;
}
